package educar.controllers;


import educar.gui.IView;
import educar.gui.admin.EditPertenece;
import educar.idioma.Locale;

import educar.models.Cargo;
import educar.models.Dedicacion;
import educar.models.Facultad;
import educar.models.Pertenece;
import educar.models.Teacher;

/**
 * Permite editar un pertenece
 */
public class EditPerteneceController implements IController {
	private Pertenece old;
	private EditPertenece view;
	
	/**
	 * Constructor
	 * @param old Pertenece a editar
	 */
	public EditPerteneceController(Pertenece old) {
		this.old = old;
	}
	
	public void process(String model){
		if(null!=view) {
			/*obtiene los datos de la vista y comprueba validez*/
			Teacher responsable = view.getDocente();
			Facultad facultad = view.getFacultad();
			String dedicacion = view.getDedicacion();
			Cargo cargo = view.getCargo();
			if(responsable==null ||facultad==null ||dedicacion.length()==0 ||cargo==null) {
				view.presentWarning(Locale.EMPTY_FIELDS, Locale.ERROR);
			}
			else {
				/*intento actualizar el pertenece*/
				old.setCargo(cargo);
				old.setDedicacion(new Dedicacion(dedicacion));
				Boolean result = old.update();
				if (!result) {
					view.presentWarning(Locale.EDIT+" "+Locale.ERROR, Locale.ERROR);
				}
				else {
					view.present(Locale.PERTENECE+" "+Locale.SAVED);
					view.close();
				}
			} 
		}	
	}
	
	
	public void setView(IView view) {
		this.view = (EditPertenece) view;		
	}	
}